from unicodedata import normalize

def nfc_equal(str1, str2):
    return normalize('NFC', str1) == normalize('NFC', str2)

def fold_equal(str1, str2):
    return (normalize('NFC', str1).casefold() ==
            normalize('NFC', str2).casefold())

if __name__ == '__main__':
    s1 = 'café'
    s2 = 'cafe\u0301'
    a = (s1 == s2)
    print(a)
    a = nfc_equal(s1, s2)
    print(a)
    a = nfc_equal('A', 'a')
    print(a)
    print('======')
    s3 = 'Straße'
    s4 = 'strasse'
    a = (s3 == s4)
    print(a)
    a = nfc_equal(s3, s4)
    print(a)
    a = fold_equal(s3, s4)
    print(a)
    a = fold_equal(s1, s2)
    print(a)
    a = fold_equal('A', 'a')
    print(a)